class sceneManager {
	// 静态的属性
	static obj;
	// Main容器
	static Main;

	// 静态的函数	
	static fun(main=null) {
		if (this.obj==null){
			// 第一次调用
			// 当前还没有该对象时,返回一个实例化的对象
			this.obj = new sceneManager();
			this.Main = main;
		}
		// 第一次后的调用
		return this.obj;
	}

	// static 类上的静态属性或函数，可以通过调用类名访问的
	// public/private/protect  类的实例上的属性或函数，需要实例化后才可以访问

	// 场景管理类
	public constructor() {
		
	}

	// 场景类
	private view;
	// 资源组名
	private groupName;
	// 加载ui
	public loadingView;
	// 加载开始
    public async loadResource(view, groupName) {
        try {
			this.view = view;

            const loadingView = new LoadingUI();
            sceneManager.Main.addChild(loadingView);
            // await RES.loadConfig("resource/default.res.json", "resource/");
            // await this.loadTheme();
            await RES.loadGroup(groupName, 0, loadingView);
			sceneManager.Main.removeChild(loadingView);
			this.addScene();

        }
        catch (e) {
            console.error(e);
        }
    }


	// 添加场景的函数
	private addScene() {
		
		// 父容器只能存在一个场景对象
		if (sceneManager.Main.$children.length !=0) {
			sceneManager.Main.removeChildAt(0);
			
		}
		// 
		let newView = new this.view();
		
		//	添加到父容器
		sceneManager.Main.addChild(newView);
	}


}